package com.cloudbroker.bcs.platform.dav.bizapi.service.business.customer.vo;

import com.cloudbroker.bcs.common.validatioin.annotation.Email;
import com.cloudbroker.bcs.common.validatioin.annotation.EnumValue;
import com.cloudbroker.bcs.common.validatioin.annotation.Identity;
import com.cloudbroker.bcs.common.validatioin.annotation.Length;
import com.cloudbroker.bcs.common.validatioin.annotation.Mobile;
import com.cloudbroker.bcs.common.validatioin.annotation.NotBlank;
import com.cloudbroker.bcs.platform.dav.bizapi.constants.type.CommonType;
import com.cloudbroker.bcs.platform.dav.bizapi.constants.type.WxAccountType;
import com.cloudbroker.bcs.platform.dav.bizapi.service.base.vo.HSBCPSVO;

public class WebsiteRegForm extends HSBCPSVO {
    
    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = 1L;
    
    /**微信主体类型*/
    @NotBlank
    @Length(max = 32)
    @EnumValue(enumClass = WxAccountType.class)
    private String wx_account;
    
    /**申请人姓名*/
    @NotBlank
    @Length(max = 16)
    private String applicant_name;
    
    /**手机号*/
    @NotBlank
    @Mobile
    private String mobile;
    
    /**验证码*/
    @NotBlank
    @Length(max = 6)
    private String verify_code;
    
    /**微信公众号*/
    @Length(max = 16)
    private String wx_public_account;

    /**邮箱*/
    @Email
    private String email;

    /**职业资格证类型*/
    @Length(max = 8)
    private String certificate_type;

    /**资格证件号*/
    @Length(max = 32)
    private String certificate_id;

    /**推荐码*/
    @Length(max = 64)
    private String fr_code;
    
    /**身份证正面图像*/
    @NotBlank
    @Length(max = 255)
    private String idcard_img_front;

    /**身份证反面图像*/
    @NotBlank
    @Length(max = 255)
    private String idcard_img_back;
    
    /**第三方支付开关*/
    @NotBlank
    @EnumValue(enumClass = CommonType.class)
    private String third_flag;
    
    /**身份证号码*/
    @NotBlank
    @Length(max = 32)
    @Identity
    private String id_no;
    
    /**营业执照*/
    @Length(max = 255)
    private String business_licence;
    
    /**微信开发者ID*/
    @Length(max = 64)
    private String wx_develop_id;
    
    /**银行帐号*/
    @Length(max = 32)
    private String bank_account;
    
    /**开户人*/
    @Length(max = 255)
    private String account_holder;
    
    /**开户行*/
    @Length(max = 64)
    private String bank_name;

    public String getWx_account() {
        return wx_account;
    }

    public void setWx_account(String wx_account) {
        this.wx_account = wx_account;
    }

    public String getApplicant_name() {
        return applicant_name;
    }

    public void setApplicant_name(String applicant_name) {
        this.applicant_name = applicant_name;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getVerify_code() {
        return verify_code;
    }

    public void setVerify_code(String verify_code) {
        this.verify_code = verify_code;
    }

    public String getWx_public_account() {
        return wx_public_account;
    }

    public void setWx_public_account(String wx_public_account) {
        this.wx_public_account = wx_public_account;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getCertificate_type() {
        return certificate_type;
    }

    public void setCertificate_type(String certificate_type) {
        this.certificate_type = certificate_type;
    }

    public String getCertificate_id() {
        return certificate_id;
    }

    public void setCertificate_id(String certificate_id) {
        this.certificate_id = certificate_id;
    }

    public String getFr_code() {
        return fr_code;
    }

    public void setFr_code(String fr_code) {
        this.fr_code = fr_code;
    }

    public String getIdcard_img_front() {
        return idcard_img_front;
    }

    public void setIdcard_img_front(String idcard_img_front) {
        this.idcard_img_front = idcard_img_front;
    }

    public String getIdcard_img_back() {
        return idcard_img_back;
    }

    public void setIdcard_img_back(String idcard_img_back) {
        this.idcard_img_back = idcard_img_back;
    }

    public String getThird_flag() {
        return third_flag;
    }

    public void setThird_flag(String third_flag) {
        this.third_flag = third_flag;
    }

    public String getWx_develop_id() {
        return wx_develop_id;
    }

    public void setWx_develop_id(String wx_develop_id) {
        this.wx_develop_id = wx_develop_id;
    }

    public String getBank_account() {
        return bank_account;
    }

    public void setBank_account(String bank_account) {
        this.bank_account = bank_account;
    }

    public String getAccount_holder() {
        return account_holder;
    }

    public void setAccount_holder(String account_holder) {
        this.account_holder = account_holder;
    }

    public String getBank_name() {
        return bank_name;
    }

    public void setBank_name(String bank_name) {
        this.bank_name = bank_name;
    }

    public String getId_no() {
        return id_no;
    }

    public void setId_no(String id_no) {
        this.id_no = id_no;
    }

    public String getBusiness_licence() {
        return business_licence;
    }

    public void setBusiness_licence(String business_licence) {
        this.business_licence = business_licence;
    }

    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("WebsiteRegForm [wx_account=").append(wx_account).append(", applicant_name=")
                .append(applicant_name).append(", mobile=").append(mobile).append(", verify_code=")
                .append(verify_code).append(", wx_public_account=").append(wx_public_account).append(", email=")
                .append(email).append(", certificate_type=").append(certificate_type).append(", certificate_id=")
                .append(certificate_id).append(", fr_code=").append(fr_code).append(", idcard_img_front=")
                .append(idcard_img_front).append(", idcard_img_back=").append(idcard_img_back)
                .append(", third_flag=").append(third_flag).append(", id_no=").append(id_no)
                .append(", business_licence=").append(business_licence).append(", wx_develop_id=")
                .append(wx_develop_id).append(", bank_account=").append(bank_account).append(", account_holder=")
                .append(account_holder).append(", bank_name=").append(bank_name).append("]");
        return builder.toString();
    }

}
